PEDIA: Weight Calculator Shoes & Android Health Coach
Abstract
An IoT & Wearable project that connects a pair of smart shoes via bluetooth that can calculate a user's body weight that has an in-built weight sensors with an Android app. The app can calculate and store the user's body weight progress, analyze BMI, Body Fat Percentage, Calorie Consumption, Resting Metabolic Rate, Lean Body Mass, and Total Daily Energy Expenditure.
Built using recycled shoes, 2 Load Sensors, Arduino Micro, Bluetooth Module, and a Lithium Ion Battery Pack. On the software side, it was built using Android Studio (Java), Arduino, HTML, CSS, and SQL.
Introduction
I've seen a lot of people misunderstood their ideal bodyweight, including my mother. Some people stop to eat to achieve a "perfect body" which causes eating disorders and some people overeat to gain weight without counting thier calorie level. This project can address the need of users to understand more about their body weight by telling users their body weight and analyzed data.
Background Research
I researched what kind of data that can be retrieved from a person's body weight. These are all of the data that I found:
Body Mass Index (BMI) BMI is a ratio of a person’s weight to height that is commonly used to classify overweight and obesity. BMI does not measure body fat directly, but research has shown that BMI correlates to direct measures of body fat. Formula: 1.3 * weight / height^2.5 by Nick Trefethen
Body Fat Percentage Body fat represents the total mass of fat tissue without muscle bone, internal organs. Body Fat Percentage is a measure of fitness level, since it is the only body measurement, which directly calculates a person's relative body composition without regard to height or weight. Body fat percentage charts are used as a tool to determine whether an individual is at greater risk for developing high blood pressure, high cholesterol, diabetes, sleep apnea, cardiovascular disease, gallstones, osteoarthritis, and certain cancers. The higher your percentage of body fat (above 25% for women and above 20% for men) the greater your risk for developing these life-threatening chronic diseases. Formula: Children: (1.51 * bmi) − (0.70 * age) − (3.6 * gender) + 1.4 Adults: (1.2 * bmi) + (0.23 * age) - (10.8 * gender) - 5.4 *gender: m = 1, f = 0
Calorie Consumption / Basal Metabolic Rate (BMR) How many calories of a person’s body needs at rest to fuel its normal metabolic activity. Knowing your Basal Metabolic Rate can help weight management program. It calculates how much energy you spend in a day. The release of energy in this state is sufficient only for the functioning of the vital organs, such as the heart, lungs, brain and the rest of the nervous system, liver, kidneys, muscles and skin. BMR decreases with age and with the loss of lean body mass. Increasing muscle mass increases BMR. This is usually taken when you first wake up before any activity or food. Formula: The Harris-Benedict equation: Men: (13.75 x weight) + (5 x height) - (6.76 x age) + 66 Women: (9.56 x weight) + (1.85 x height) - (4.68 x age) + 655
Resting Metabolic Rate (RMR) Estimates the amount of calories that you burn while at complete rest. Metabolism refers to the chemical reactions in your body such as breathing, digesting food, making blood cells, etc. You also need calories for energy to do everyday things. The more you do, the more calories you need. This can be taken anytime during the day once you have been resting for a little while Formula: The Mufflin equation: Men: (10 * weight) + (6.25 * height) - (5 * age) + 5 Women: (10 * weight) + (6.25 * height) - (5 * age) - 161
Lean Body Mass (LBM) Lean body mass represents the weight of muscle, bone, internal organs, and connective tissue. People with low LBM might have been affected in hyperthyroid or diabetes type 1. Formula: Men: ((0.29569 * weight) + (0.41813 * height)) - 43.2933 Women: ((0.32810 * weight) + (0.33929 * height)) - 29.5336
Minimal Fluid Intake Calculates how much water you should drink a day for health and weight loss benefits. This is also used to reduce dehydration. Formula: (weight * 24 hours) + 500 (mL)
Maximum Heart Rate Maximum heart rate is the highest heart rate an individual can achieve without severe problems through exercise stress and depends on age. Formula: 207 - (0.7 x Age)
After the observation & analysis of data. I asked myself questions that are needed to be figured out:
- What do people wear everyday as a part of lifestyle? Shoes
- Most common smartphone operating system? Android
- A small, mobile, & lightweight microcontroller? Arduino Micro
- A sensor that detects weight? Load sensors/ load cells
- How to connect them? Bluetooth connection
- How does it store user data? Using the internet server stored using MySQL
- How can users monitor health easily? Internet of Things (IoT): Can be accessed through internet based gadgets
Since Android phones can only connect to one bluetooth device, I have decided to use only one foot to measure weight. Later, I’ve found out that one foot/one side of the body is approximately the half of the total body weight. Because it’s hard to find load cells/load sensors in my country, I have determined to use load sensors from digital weight scales instead of buying them separately. I used 2 load sensors in the shoes. Each has 50kg capacity. In total, it has 100kg capacity.
Rough Sketches
First Sketch
- The placement of the battery is hard to access, I need to open the sole of the shoes If I want to change the batteries.
- The placement of the microcontroller and the bluetooth module is hard to access. Also fragile to impacts that would happen to the sole of the shoes.
- After I saw these problems that the first design has, I have decided to make the finalized design to fix my previous mistakes.
Final Sketch
- A battery pocket at the side of the shoes would give easier access to the battery.
- A zipper installed on the shoe tongue would be a great placement for the microcontroller, bluetooth module, and the inverter circuit.
- 3 layers on the insole part would make better and accurate results of bodyweight
Architecture
Wireframe
Circuit Diagram
Components:
- Arduino Micro microcontroller
- DFrobot Bluetooth V3
- 2 Load sensors (50kg each)
- Polymer Lithium Ion Battery (7.4v 1200mAh)
- Inverter circuit, turns 7.4volts into 5volts
Prototypes
Testing
For testing how the prototypes work, I used Black Box Testing: a technique in engineering where the processing part of a component is unknown or there are no internal specifications. This technique was used because the analog value that the sensors get was still unknown. I used my father’s weight as the first sample of the data testing. I used 15 seconds for the sensors to recalibrate.
- X0: zero point
- Xt: weight point
- Dx: (xt-x0): the difference between zero point and weight point
- Kg: approximate weight calculated
- Kg2: approximate total weight
First Test
The results were inaccurate and unstable. This happened because the insole was made of a soft leather, it decreases the force that has made from the foot. The inconsistency of the length between the left and right shoes and the position of the feet. After I witness my mistakes, I’ve decided to make a second testing.
Second Test
The results were more accurate and stable In the second testing, I used 10 bodyweight data samples that were taken from my weight and my father’s. I used a plastic insole instead of the default insole, which was made of leather. I also added the length between left and right shoes as a variable, which was 12 centimeters.
Conclusion
I have successfully built the product ecosystem that consists of the hardware and the phone application. However, it is difficult to mass produce this product because the overall price of the components that were used to build one product is too expensive. It might be good for medical therapy in the future, especially when more advanced and less expensive components are available.